package com.zenith.storage.po.domain;

import com.baomidou.mybatisplus.annotation.*;
import com.zenith.common.base.BaseEntity;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 存储提供商实体类
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("sto_provider")
@Schema(name = "存储提供商实体类", description = "存储提供商实体类")
public class StorageProvider extends BaseEntity {
    /**
     * 提供商名称 如 aliyun-oss, tencent-cos, minio-local
     */
    @Schema(description = "存储提供商名称")
    private String providerName;

    /**
     * 服务端点
     */
    @Schema(description = "服务端点")
    private String endpoint;

    /**
     * 存储桶名称
     */
    @Schema(description = "存储桶名称")
    private String bucket;

    /**
     * 访问密钥
     */
    @Schema(description = "访问密钥")
    private String accessKey;

    /**
     * 密钥
     */
    @Schema(description = "私有密钥")
    private String secretKey;

    /**
     * 区域
     */
    @Schema(description = "区域")
    private String region;

    /**
     * 状态(1-启用 0-停用)
     */
    @Schema(description = "状态(1-启用 0-停用)")
    private Integer status;

    /**
     * 是否默认桶
     */
    @Schema(description = "是否默认桶")
    private Integer isDefault;

    /**
     * 备注
     */
    @Schema(description = "备注")
    private String remark;

    /**
     * 扩展信息（JSON）
     */
    @Schema(description = "扩展信息（JSON）")
    private String extJson;
}